Awesome Ansible
Ansibleを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
公式リソース
Ansibleによる、Ansibleのための公式リソース。
- Latest Ansible Documentation - Ansibleの最新ユーザーガイド・ドキュメント。
- Ansible Galaxy Website - Ansible Roleの公式リポジトリ・コミュニティサイト。
- Ansible Blog - 公式Ansibleブログ。
コミュニティ
Ansibleフォーラムに参加:
- Get Help - 質問・回答のためのフォーラム。新しい議論を始める際は適切なタグを追加する。
- Bullhorn newsletter - リリースや重要な変更の告知に使用される。
- Social Spaces - 同じ関心を持つ人々と集い交流する。
- News & Announcements - 社交イベントを含むプロジェクト全体の告知を追跡する。
コミュニケーションの詳細はAnsible communication guideを参照。
チュートリアル
Ansibleを学ぶチュートリアルとコース。
- How To Manage Remote Servers with Ansible - Ansibleでリモートサーバーを管理する方法を扱うチュートリアル。
- Ansible Tutorial by leucos - Ansibleの12ステップチュートリアル。
- Programming Community Curated Resources for learning Ansible - 推奨リソースのリスト。
- Ansible TopTechSkills.com Tutorial Series on Ansible - Ansibleのインストール・利用方法に関するチュートリアル。
- Official Ansible labs by Red Hat - Training Course for Ansible Automation Platform.
- Ansible Tutorials on DigitalOcean - Basic tutorials on DigitalOcean.com.
- Ansible Tutorial by BlueBanquise team - Basic Ansible tutorial.
- Ansible Tutorial for Beginners: Playbook & Examples - Introduction to Ansible for beginners.
- Ansible Tutorials for Beginners and Advanced - Workshop on multiple topics with different levels of difficulty.
- Ansible For DevOps - This repository contains Ansible examples developed to support different sections of
Ansible for DevOpsby Jeff Geerling, which is listed in the following section of books about Ansible.
書籍
Ansibleに関する書籍。
- Ansible for DevOps - 1台から数千台のサーバーをプロビジョニング・管理するためにAnsibleを使い始める助けとなる書籍。無料サンプルはこちら。
- Ansible for Kubernetes - Ansibleで実運用の大規模スケーラブル・高可用性アプリケーションをデプロイ・保守する。
- How To Manage Remote Servers with Ansible eBook - This book is based on the “How To Manage Remote Servers with Ansible” tutorial series.
- The Tao of Ansible: Mastering Automation with Simplicity and Grace - A guide to Ansible that emphasizes simplicity, elegance, and the philosophy of automation without complexity.
動画
動画チュートリアルとAnsibleトレーニング。
- Ansible YouTube Channel - 公式Ansible YouTubeチャンネル。
- Introduction to Ansible - Cloud Academyによる初心者向け概要。
- Ansible 101 by Jeff Geerling - Jeff Geerlingによる優れたAnsible動画シリーズ。
- Ansible TopTechSkills.com Tutorial Series on YouTube - Video tutorials on Ansible.
- Ansible Essentials - Course - Free Video Classroom on Ansible essentials by Red Hat.
- Complete Ansible Course 2020 by DevOps Journey - Free Video Course on Ansible including labs to follow along.
- Getting started with Ansible - YouTube tutorial series by LearnLinuxTV.
ツール
Tools for and using Ansible.
- Automation Controller - 旧Ansible Tower。IT自動化の拡張、複雑なデプロイ管理、生産性向上を支援するRed Hat製品で、チーム全体へAnsibleの力を広げる。
- AWX - Ansible上に構築されたWebベースUI、REST API、タスクエンジン。Automation Controllerの上流プロジェクト。
- Ansible Lint - Playbookのベストプラクティスと改善可能な振る舞いを検査する。
- Ansible Doctor - Jinja2テンプレートに基づく、Ansible Role向けの注釈風シンプルなドキュメント生成器。
- Ansible DocSmith - Generates Ansible role documentation from argument_specs.yml for READMEs and default variable files.
- Ansible cmdb - Takes the output of Ansible’s fact gathering and converts it into a static HTML page.
- ARA - Records Ansible playbooks and makes them easier to understand and troubleshoot with a reporting API, UI and CLI.
- Ansible Inventory Grapher - Displays inventory inheritance hierarchies and the level at which variables are defined in an inventory.
- Mitogen for Ansible - Speed up Ansible substantially with Mitogen.
- Molecule - Framework for developing and testing Ansible roles.
- Packer Ansible Provisioner - This Provisioner can be used to automate VM Image creation via Packer with Ansible.
- Excel Ansible Inventory - Turn any Excel Spreadsheet into an Ansible Inventory.
- terraform.py - Ansible dynamic inventory script for parsing Terraform state files.
- Ansible101 - An interactive, zero-setup sandbox for architecting and debugging playbooks with real-time visual execution flow.
- ansible-navigator - A text-based user interface (TUI) for Ansible.
- squest - Self-service portal for Automation Controller job templates.
- ansible-bender - Tool which bends containers using Ansible playbooks and turns them into container images.
- ansible-runner - A tool and Python library that helps when interfacing with Ansible directly or as part of another system whether that be through a container image interface, as a standalone tool, or as a Python module that can be imported.
- ansible-builder - Using Ansible content that depends on non-default dependencies can be tricky. Packages must be installed on each node, play nicely with other software installed on the host system, and be kept in sync.
- kics - SAST Tool that scans your Ansible infrastructure as code playbooks for security vulnerabilities, compliance issues and misconfigurations.
- ansible-security-scanner - Static analyzer for playbooks, roles and collections covering hardcoded credentials, RCE, and supply-chain risks. Outputs SARIF, CycloneDX SBOM and GitLab SAST.
- php-ansible Library - OOP-Wrapper for Ansible, making Ansible available in PHP.
- TD4A - Design aid for building and testing jinja2 templates, combines data in yaml format with a jinja2 template and render the output.
- Ansible Playbook Grapher - Command line tool to create a graph representing your Ansible playbook plays, tasks and roles.
- ansible-doc-extractor - A tool that extracts documentation from Ansible modules in the HTML form.
- Ansible Semaphore - Modern UI for managing and running Ansible playbooks.
- Steampunk Spotter - Provides an Assisted Automation Writing tool that analyzes and offers recommendations for your Ansible Playbooks.
- ansible-roster - Ansible Roster inventory plugin to generate inventory from a host oriented yaml file. Supports ranges, regex hostnames, file inclusions, and variable merging.
- Monkeyble - A callback plugin that allow to execute end-to-end tests on playbooks with a Pythonic testing and CI/CD approach to detect regressions.
- aar-doc - Automated Ansible Role Documentation - Generate documentation automatically from an Ansible role’s metadata.
- antsichaut - Automate the filling of a changelog.yaml used by antsibull-changelog.
- ansibledb - Flask API Web server that uses MongoDB as database to store Ansible reports and facts; this tool can be used to query hosts and facters managed Ansible as well search Ansible logs.
- Ansible Template Playground - Online playground for running, testing and sharing Ansible templates.
- YAML Validator, (chrome extension) - Online YAML validator and formatter with Ansible JSON Schema validation. The Chrome extension also adds YAML code folding on GitHub.
ブログ記事と意見
Best practices and other opinions on Ansible.
- Ansible (Real Life) Good Practices - Best practice guidelines.
- Testing Ansible Roles Against Windows with Test-Kitchen - Using Test-Kitchen with Ansible to apply playbooks to Windows machines and test them with Pester.
- Ansible Best Practices by AndiDog - Practices covering many aspects of an Ansible setup, including hints to support different environments (testing, staging, production).
- Getting started with Ansible - Introduces Ansible, provides installation instructions and gives an interactive walkthrough of Ansible’s basic functionalities, like running Ansible playbooks and installing Ansible content.
- Taking Ansible apart - Describes and shows how most commonly used Ansible components work.
- Enhancing Ansible Development with SOLID Principles - Discover how the fundamental principles of SOLID—Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion—can significantly elevate your Ansible role and playbook development.
- Functional programming design patterns in Ansible code - Borrowing functional programming (FP) principles to improve Ansible code quality. How to adopt functional patterns like pure functions, clear separation of effects, immutability, composition, and lazy evaluation can make Ansible automation far easier to test, debug, understand, and extend.
ドイツ語
- Ansible – Was ich am Ad-hoc-Modus schätze - Opinion what the author likes about the Ansible Ad-Hoc mode.
フランス語
- Apprendre et Maitriser Ansible l’outil de gestion de configuration - A large of courses on Ansible in French.
Playbook、Role、Collection
すぐに利用開始できる、優れた本番対応のPlaybook、Role、Collection。
- Ansible Vagrant Examples by geerlingguy - Vagrantを使いローカルVMへデプロイするAnsible例。
- Ansible playbook for Linux machine setup - Dockerデーモンを備え、自動更新・強化されたDebian/Ubuntuマシンを設定するAnsible Playbook。
- Ansible Lockdown - OS・アプリケーションのCISまたはSTIGベースライン準拠を監査・是正するためのAnsibleコンテンツ。
- DevSec Hardening Framework - LinuxベースOS、MySQL、NGINX、SSHサーバー/サービスを強化するDevSec Collection。
- T.A.D.S. boilerplate - Provision and deploy a Docker Swarm cluster to development environment and to production. Infrastructure as Code and DevOps best practices.
- Openstack Ansible - Ansible Playbooks for deploying OpenStack.
- Robert de Bock - A extensive collection of Ansible roles.
- DebOps - A extensive collection of Debian based Ansible Playbooks.
- ansible-ssm - An Ansible role to provision physical and virtual hosts with the AWS SSM agent.
- BlueBanquise - An Ansible coherent roles collection to deploy clusters.
- redhat-cop - Repositories with Ansible topic of the Red Hat Communities of Practice project.
- Linuxfabrik LFOps - An Ansible Collection with 145+ playbooks and 160+ roles to bootstrap and manage Linux infrastructure (RHEL 8/9/10, Debian, Ubuntu). Covers OS hardening, MariaDB, Icinga2, Nextcloud, FreeIPA, KVM and Bitwarden integration.
エディター・IDE統合
Ansibleによる/向けの開発を容易にする、テキストエディター・IDEへの優れた統合。
-
Ansible Language Server - 対応エディターにAnsibleサポートを追加するLanguage Server。
-
VS Code - official Ansible Extension - ansible-language-serverを活用してVisual Studio Code・OpenVSX対応エディターへAnsible言語サポートを追加する。
-
Vim - オープンソースで無料のコマンドラインテキストエディター。便利なVimプラグイン:
- Ansible vim - A vim syntax plugin for Ansible 2.x, it supports YAML playbooks, Jinja2 templates, and Ansible’s hosts files.
- Ansible vim and neovim plugin - A vim plugin (lsp client) for Ansible, it supports autocompletion, syntax highlighting, hover, diagnostics, and goto support.
-
Emacs - 自動インデント、構文強調、組み込みターミナルシェルなどをサポートする無料・オープンソースのテキストエディター・IDE:
- lsp-mode - Ansible Language Server Protocol support for Emacs: provides syntax highlighting, auto-completion and diagnostics.
- yaml-mode - YAML highlighting and syntax checking.
- jinja2-mode - Jinja2 highlighting and syntax checking.
- magit-mode - Git porcelain within Emacs.
- flymake-ansible-lint - Ansible Lint integration with automatic/continuous annotation of errors, warnings, and info while editing.
-
PyCharm - A full IDE for Python software development. Useful plugins include:
- Ansible Lint - Ansible Lint integration with automatic/continuous annotation of errors, warnings, and info while editing.
- Ansible Vault Integration - Ansible vault integration for IntelliJ IDEA with context actions for vaulting and unvaulting secrets.