d33ds/infra-wizard-main

GitHub: d33ds/infra-wizard-main

一个基于 Bash 的 Terraform 和 Ansible 基础设施管理启动器,通过菜单驱动和隔离工作目录简化多云部署与维护流程。

Stars: 0 | Forks: 0

# Infra Wizard Infra Wizard 是一个基于 shell 的启动器,用于 Terraform 和 Ansible 基础设施 模块。它会为每次部署创建一个隔离的工作目录,并 提供菜单驱动的部署、销毁、DNS 和维护工作流。 ## 仓库状态 这个面向公开的代码树仅包含源代码和配置示例。 凭据、证书、Terraform state、运行时工作区、provider 二进制文件、内部开发材料以及特定于组织的值均 被排除在外。 ## 环境要求 - Linux 或 WSL - Bash 4+ - Terraform 1.8+ - Ansible - `curl`、`jq`、`unzip` 以及 SSH 客户端 - 您打算使用的模块所需的 provider 凭据 在 Debian/Ubuntu 上运行 `./install_tools.sh` 以安装或下载主要的 依赖项。在使用提升的权限运行之前,请先检查该脚本。 ## 快速开始 ``` git clone https://github.com/d33ds/infra-wizard.git cd infra-wizard cp vars.example.sh vars.sh chmod 600 vars.sh ./install_tools.sh ./wizard.sh ``` Provider 凭据应通过环境变量、本地 `vars.sh` 或未纳入版本控制的 Terraform 变量文件来提供。切勿将有效的机密信息放入 模块的默认值中。 ## 配置 `vars.sh` 是可选的,并且会被 Git 忽略。请从 `vars.example.sh` 开始。常见的 Terraform 环境变量包括: ``` export TF_VAR_do_token="..." export DIGITALOCEAN_SSH_KEY_IDS="12345,67890" export TF_VAR_aws_access_key="..." export TF_VAR_aws_secret_key="..." export TF_VAR_CLOUDFLARE_TOKEN="..." ``` Azure 模块可以使用标准的 `ARM_*` 环境变量或显式的 Terraform 变量。基于证书的模块需要本地 PFX 文件;PFX 文件会被忽略,且不包含在此仓库中。 请参阅 [docs/CONFIGURATION.md](docs/CONFIGURATION.md) 以获取完整的模型。 ## 仓库布局 ``` modules/ Terraform and Ansible deployment modules .maintenance/ Temporary Ansible maintenance workspace lib/ Focused launcher libraries scripts/ Repository analysis and maintenance utilities tools/ Local tool downloads (ignored) wizard.sh Small interactive entry point wiki/ Markdown source for the GitHub Wiki docs/ Maintainer and user documentation ``` ## 文档 - [快速入门](docs/GETTING_STARTED.md) - [配置](docs/CONFIGURATION.md) - [启动器架构](docs/LAUNCHER_ARCHITECTURE.md) - [模块目录](docs/MODULE_CATALOG.md) - [模块冗余分析](docs/MODULE_REDUNDANCY.md) - [模块开发](docs/MODULE_DEVELOPMENT.md) - [安全性](SECURITY.md) - [贡献指南](CONTRIBUTING.md) - [Wiki 发布](docs/WIKI.md) ## 许可证 采用 GNU General Public License v3.0 或更高版本进行许可。请参阅 [LICENSE](LICENSE)。
标签:Ansible, ECS, Shell脚本, Terraform, 内存分配, 基础设施自动化, 应用安全, 系统提示词, 运维工具, 部署管理