Commit Graph

123 Commits

Author SHA1 Message Date
Haitao Pan
96cf0d7d8a feat(stackflow): add declarative StackFlow + DNS roles 2026-02-08 13:53:36 +08:00
fa892488c7 Add HAProxy vhosts role with map-driven layout 2025-12-27 20:58:52 +08:00
Haitao Pan
617e12ff52 chore(gitops): remove ansible playbooks and host-level scripts 2025-12-21 19:25:55 +08:00
4e0e104131
Merge pull request #106 from cloud-neutral/codex/create-docker-roles-for-metrics-and-logs
Add bootstrap compose templates to observability roles
2025-12-17 17:32:25 +08:00
6292c5b552 Add Docker Grafana role and deployment playbook 2025-12-15 22:50:20 +08:00
e811acd9dc Add bootstrap compose templates to observability roles 2025-12-15 22:39:59 +08:00
1d7263767d Add neurapress docker deployment role 2025-12-15 21:50:31 +08:00
7b45701dbd Add retries when downloading Docker GPG key 2025-12-14 15:39:13 +08:00
65d98ce50a Add optional Debian package cleanup and refresh apt cache 2025-12-14 15:17:21 +08:00
aad7dfb7c2 Refactor common role repo and task structure 2025-12-14 15:10:06 +08:00
69bb3d3dad Make optional S3FS config opt-in 2025-12-14 14:57:27 +08:00
90b819e5ad Template rag server configuration 2025-12-10 15:21:13 +08:00
17c04eae5e Initialize placeholder docker and chart roles 2025-12-09 23:40:09 +08:00
Haitao Pan
76ee00f393 feat(docker/zitadel): production-ready ACME automation + TLS proxy + idempotent init 2025-12-02 19:53:59 +08:00
Haitao Pan
927568e912 update docker/zitadel/README.md 2025-12-01 21:42:23 +08:00
shenlan
bd0ca5e490 Add playbook to install Docker on supported hosts 2025-12-01 20:13:26 +08:00
shenlan
66390ddc89
Merge pull request #95 from svc-design/codex/create-ansible-playbook-for-zot-installation
Add zot vhost role
2025-12-01 19:54:36 +08:00
shenlan
6279b005b2 Parameterize Zitadel deployment variables 2025-12-01 13:35:47 +08:00
shenlan
6e1a52886e Add zot vhost role 2025-11-29 19:51:22 +08:00
Haitao Pan
e4cf88d3c3 feat(vhosts): add Alicloud DNS record module and batch sync role 2025-11-19 13:20:13 +08:00
Haitao Pan
3d773e2a83 nodejs role: install latest Node.js from NodeSource
- Install Node.js 20.x LTS from official NodeSource repository
- Install latest npm and configure with save-exact
- Install Yarn package manager (optional, configurable)
- Idempotent installation with version checking
- Adds npm global bin to system PATH
- Configurable version (LTS, major, or specific version)
- GPG-signed packages from official sources
- Support for custom npm global prefix
- Optional global npm package installation

Features:
- Removes old NodeSource repos before upgrade
- Adds NodeSource GPG key securely via HTTPS
- Creates npm global directory with proper permissions
- Template for /etc/profile.d/npm_global.sh
- Verification output showing installed versions

Variables:
- nodejs_version: "20.x" (default, can be 18.x, 22.x, or specific version)
- install_yarn: true (can be disabled)
- add_npm_to_path: true (adds npm bin to PATH)
- npm_config_prefix: "/usr/local/lib/npm"
- global_npm_packages: [] (optional list of packages)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 20:51:40 +08:00
Haitao Pan
f4d6bd2463 dovecot role: add mail group membership
- Add dovecot user to mail group for proper permissions
- Install dovecot-core package (alongside dovecot-imapd)
- Maintains existing dovecot configuration via templates
- Idempotent user module for group management

Configuration:
- Existing templates for dovecot.conf, 10-mail.conf, 10-auth.conf, 10-ssl.conf, 10-master.conf
- Service management with systemd

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 20:49:59 +08:00
Haitao Pan
f92eb3cfb7 chasquid role: enhance mail server configuration
- Install dovecot packages (dovecot-core, dovecot-imapd) alongside chasquid
- Create support user with secure home directory and nologin shell
- Add chasquid user to mail group for proper permissions
- Set cap_net_bind_service capability on chasquid binary
- Disable socket-based activation services (socket, smtp, submission, submission_tls)
- Disable IPv6 system-wide via sysctl
- Add custom systemd service template with security hardening:
  * Standalone mode (Type=simple)
  * CAP_NET_BIND_SERVICE for port binding
  * ProtectSystem, ProtectHome, PrivateTmp, NoNewPrivileges
  * Automatic restart on failure
- Convert systemd service to Jinja2 template for variable support
- Add email test configuration variables (domain, SMTP settings, test recipients)
- Add swaks email test task with variable-based configuration
- Create reboot handler for IPv6 changes
- Add reload systemd daemon handler

Security:
- Binary capabilities instead of running as root
- Comprehensive systemd security features
- NoNewPrivileges to prevent escalation
- Private temporary directory

Testing:
- Automated swaks email sending test
- Display DNS records with DKIM key information
- Configurable email credentials via variables

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 20:49:22 +08:00
Haitao Pan
136b205e01 firewall role: add UFW mail server firewall configuration
- Add comprehensive UFW firewall rules for mail server
- Opens essential ports: SSH (22), HTTPS (443), HTTP (80)
- Opens mail ports: SMTP (25), Submission (587), SMTPS (465), IMAPS (993)
- Blocks plaintext ports: POP3 (110), IMAP (143), POP3S (995)
- Allows LMTP (24) from private networks only
- Provides verification output with visual status display
- Default deny all incoming, allow all outgoing
- Security warnings included in output

Features:
- Idempotent UFW configuration
- Configurable via variables
- Clean visual output of all rules
- SSH added first to prevent lockout
- Documentation in defaults/main.yml

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 20:48:31 +08:00
shenlan
d3306d36a1 Set default dl business host for blackbox exporter 2025-10-03 18:51:43 +08:00
shenlan
ef6f602882 Fix blackbox exporter install from remote archive 2025-09-29 20:59:41 +08:00
Haitao Pan
648d0cb418 chore(blackbox_exporter): bump default version to 0.27.0 2025-09-29 20:51:27 +08:00
shenlan
9c6839cf8b Update blackbox exporter download source 2025-09-29 12:48:19 +08:00
shenlan
5f13b01adf Fix blackbox exporter archive variables 2025-09-29 11:21:47 +08:00
Haitao Pan
a9761485ce refactor(blackbox): move exporter defaults into role and simplify vhost playbook vars 2025-09-29 11:06:21 +08:00
Haitao Pan
16f1e5a147 roles/vhosts/common: removed default apt repo config 2025-09-29 10:31:26 +08:00
shenlan
a1d54e7105 Merge pull request #86 from svc-design/codex/consolidate-node.js-installation-script
Add Node.js vhost role for macOS and Ubuntu
2025-09-24 13:33:16 +08:00
shenlan
2771f775e7 Expose Node.js version in Ubuntu role messaging 2025-09-24 13:33:06 +08:00
shenlan
d863fb6926 feat: manage postgres apt keyring via common role 2025-09-24 13:17:43 +08:00
shenlan
235e4c251d Merge pull request #83 from svc-design/codex/fix-syntax-error-in-main.yml
Fix blackbox_exporter handler syntax
2025-09-23 11:31:29 +08:00
shenlan
b62efb9e86 Fix blackbox_exporter handler syntax 2025-09-23 11:30:55 +08:00
shenlan
c7ba57a92e Fix blackbox archive fact computation 2025-09-23 11:02:53 +08:00
shenlan
5c85e90a20 Fix blackbox exporter role handlers 2025-09-23 10:39:47 +08:00
shenlan
59056867ba Merge pull request #80 from svc-design/codex/create-playbook-for-blackbox_exporter
feat: add blackbox exporter vhost role
2025-09-21 11:41:42 +08:00
shenlan
155be33363 chore: refine blackbox exporter tasks 2025-09-21 11:41:03 +08:00
shenlan
c49f097bca Refine otel collector configuration variables 2025-09-21 11:40:16 +08:00
Haitao Pan
05edabae88 ansible(vhosts/common): add OpenResty meta, update common defaults, remove legacy install script 2025-09-20 22:23:37 +08:00
shenlan
f3d6663ce6 Template sensitive tokens for xcontrol server 2025-09-20 06:50:09 +08:00
shenlan
5b2343cda8 Merge pull request #77 from svc-design/codex/add-deployment-configuration-for-xcontrol-server
Add XControl server playbook and role
2025-09-19 22:13:15 +08:00
shenlan
18b43d4329 Add XControl server playbook and role 2025-09-19 22:12:48 +08:00
shenlan
e87181aa49 Add PostgreSQL vhost role for Ubuntu 22.04+ 2025-09-19 21:42:02 +08:00
shenlan
5c92be00be Add OpenResty vhost defaults 2025-09-19 20:59:05 +08:00
Haitao Pan
af165aec8d OpenResty: remove meta/main.yml 2025-09-19 20:54:28 +08:00
shenlan
d550f9b8fa Fix autoindex template logic 2025-09-19 20:49:51 +08:00
shenlan
66cacf91d1 Add static homepage OpenResty vhost 2025-09-19 20:40:51 +08:00