bhupinderhappy777/homelab-ops

GitHub: bhupinderhappy777/homelab-ops

一个基于 IaC 的端到端家庭实验室框架,自动化部署高可用环境并实现零信任与可观测性。

Stars: 0 | Forks: 0

# homelab-ops ## **概述** 本仓库使用**基础设施即代码(IaC)**自动化部署和管理高可用家庭实验室。架构优先考虑可复现性、零信任网络和自动化测试。它作为一个持续学习环境,用于现代系统架构、配置管理和 DevOps 实践。 ## **架构栈** * **供应(Provisioning):** Terraform * **配置(Configuration):** Ansible(操作系统加固与逻辑) * **编排(Orchestration):** K3s(轻量级 Kubernetes) * **网络(Networking):** Tailscale(VPN)& Cloudflare(隧道/DNS) * **可观测性(Observability):** Prometheus、Loki、Grafana(PLG 栈) * **备份(Backups):** S3 兼容存储 ## **DevOps 与 CI/CD 流水线** 为确保基础设施代码在部署前可靠,本仓库强制执行严格的 CI/CD 实践: * **预提交钩子(Pre-commit Hooks):** 本地防止不良提交。检查尾随空白、YAML 语法和格式。 * **Linting:** `tflint` 用于 Terraform,`ansible-lint` 和 `yamllint` 用于 Ansible。 * **Molecule 测试:** Ansible 角色在部署到真实虚拟机之前,先通过临时 Docker 容器进行测试。这确保配置按预期工作且不会破坏现有实验室环境。 * **自动化流水线:** GitHub Actions 在每个拉取请求上自动运行 Linter 和 Molecule 测试。 ## **密钥管理策略** 本项目强制执行“明文无密钥”策略。密钥在运行时注入。 | 层级 | 工具 | 用途 | | :--- | :--- | :--- | | **个人** | Bitwarden CLI(`bw`) | API 令牌和 Ansible Vault 主密码的根来源。 | | **自动化** | Ansible Vault | 加密主机特定变量。通过 Bitwarden 包装器脚本即时解密。 | | **运行时** | HashiCorp Vault | 为 K3s 工作负载提供动态密钥注入。 |
标签:Ansible, ansible-lint, Bitwarden, Cloudflare, DNS, EC2, ECS, GitHub Actions, GitHub Advanced Security, Grafana, HashiCorp Vault, Homelab, IaC, JSONLines, K3s, Loki, MITRE ATT&CK, Molecule, Mutation, OS配置, PLG堆栈, S3备份, Tailscale, Terraform, tflint, VPN, yamllint, 可视化, 多引擎聚合, 安全加固, 家酿实验室, 对象存储, 异地备份, 日志聚合, 沙盒环境, 漏洞探索, 特权提升, 监控系统, 系统提示词, 系统架构学习, 自动化部署, 自动笔记, 自定义请求头, 观测性, 轻量级K8s, 运行时密钥注入, 隧道, 零信任